﻿#region Using Directives

    using System;
    using Csla;

#endregion

namespace MarketPulse.BusinessLogic.Common.Criteria
{
    /// <summary>
    /// Criteria class that allows an Assignment to be uniquely identified.
    /// </summary>
    [Serializable]
    public class UniqueAssignmentCriteria : CriteriaBase<UniqueAssignmentCriteria>
    {
        //#region Member Variables

        //    /// <summary>
        //    /// This is the unique identifier used to identify all business objects within the system
        //    /// </summary>
        //    private static PropertyInfo<Guid> mGuidProperty = RegisterProperty<Guid>(p => p.Guid);

        //    /// <summary>
        //    /// The Version ID of this survey.  When used in conjunction with a SurveyID, this
        //    /// uniquely identifies a given survey document.
        //    /// </summary>
        //    private static PropertyInfo<long> mVersionIDProperty = RegisterProperty<long>(p => p.VersionID);

        //#endregion

        #region Constructor(s)

            /// <summary>
            /// Creates a new instance of the object.
            /// </summary>
            /// <param name="guid">The Guid that forms part of the unique identifier for an Assignment</param>
            /// <param name="versionId">The versionId number that forms part of the unique identifier for an Assignment</param>
            public UniqueAssignmentCriteria(Guid guid, long versionId)
            {
                Guid = guid;
                VersionID = versionId;
            }

        #endregion

        #region Properties

            ///// <summary>
            ///// This is the unique identifier used to identify all business objects within the system
            ///// </summary>
            //public Guid Guid
            //{
            //    get { return ReadProperty(mGuidProperty); }
            //    private set { LoadProperty(mGuidProperty, value); }
            //}

            /// <summary>
            /// This is the unique identifier used to identify all business objects within the system
            /// </summary>
            public Guid Guid { get; private set; }

            /// <summary>
            /// The Version ID of this survey.  When used in conjunction with a SurveyID, this
            /// uniquely identifies a given survey document.
            /// </summary>
            public long VersionID { get; private set; }

            ///// <summary>
            ///// The Version ID of this survey.  When used in conjunction with a SurveyID, this
            ///// uniquely identifies a given survey document.
            ///// </summary>
            //public long VersionID
            //{
            //    get { return ReadProperty(mVersionIDProperty); }
            //    set { LoadProperty(mVersionIDProperty, value); }
            //}

        #endregion

    }
}
